package com.lsht.system.service.siwei;

import com.lsht.system.domain.siwei.SiweiPoint;
import com.lsht.system.domain.siwei.business.SiweiPointBus;
import org.springframework.web.multipart.MultipartFile;

import java.util.HashMap;
import java.util.List;

/**
 * 点位管理Service接口
 *
 * @author zyc
 * @date 2024-08-14
 */
public interface SiweiPointService {
    /**
     * 新增点位管理
     *
     * @param siweiPoint 点位管理
     * @return 结果
     */
    public int genAdd(SiweiPoint siweiPoint, MultipartFile file);
    /**
     * 删除点位管理信息
     *
     * @param id 点位管理主键
     * @return 结果
     */
    public int genDeleteById(List<String> idList);
    /**
     * 修改点位管理
     *
     * @param siweiPoint 点位管理
     * @return 结果
     */
    public int genUpdateById(SiweiPoint siweiPoint);
    /**
     * 查询点位管理列表
     *
     * @param siweiPoint 点位管理
     * @param deptId
     * @return 点位管理集合
     */
    public List<SiweiPoint> genQueryList(SiweiPoint siweiPoint, Long deptId);

    /**
     * 根据id查询点位详情信息
     * @param siweiPoint
     * @return
     */
    SiweiPoint genQueryById(SiweiPoint siweiPoint);

    /**
     * 大屏查询点位数量及较昨日新增数
     * @param siweiPoint
     * @return
     */
    HashMap pointStatistics(SiweiPoint siweiPoint);

    /**
     * 新增点位管理app端
     * @param siweiPoint
     * @return
     */
    int addPointByApp(SiweiPoint siweiPoint);

    /**
     * 大屏按照年份进行点位状态为异常的个数，并返回同比去年
     * @param siweiPoint
     * @return
     */
    HashMap abnormalPointDetails(SiweiPoint siweiPoint);

    /**
     * 大屏按照所属区域分组展示异常点位的个数
     * @param siweiPoint
     * @return
     */
    List<HashMap> abnormalPointByRegion(SiweiPoint siweiPoint);




    /**
     * 点位管理导入
     * @param userList
     * @param operName
     * @return
     */
    String importPoint(List<SiweiPointBus> userList, String operName);
}
